package com.dzl.goods.service;

import java.util.List;
import java.util.Map;

import com.dzl.base.service.BaseService;
import com.dzl.goods.pojo.WelfareGoodsClassify;
import com.dzl.goods.pojo.query.WelfareGoodsClassifyQuery;
import com.dzl.goods.pojo.vo.WelfareGoodsClassifyVo;

/**
 * 商品分类表(WelfareGoodsClassify)表服务接口
 * @author ChenLong
 * @since 2021-05-18 10:42:58
 */
public interface WelfareGoodsClassifyService extends BaseService<WelfareGoodsClassify> {
    /**
     * 获取分类列表
     * @author ChenLong
     * @param enterpriseId 企业ID
     * @since 2021-05-18 14:24:44
     * @return java.util.List<com.dzl.goods.entity.WelfareGoodsClassify>
     **/
    List<WelfareGoodsClassifyVo> getGoodsClassify(Integer enterpriseId);

    /**
     * 获取分类列表（子集下面没有的不显示）
     * @author ChenLong
     * @param enterpriseId 企业ID
     * @date 2021-07-09 17:22:26
     * @return java.util.List<com.dzl.goods.pojo.vo.WelfareGoodsClassifyVo>
     **/
    List<WelfareGoodsClassifyVo> getGoodsClassifyWithOutEmptySub(Integer enterpriseId);

    /**
     * 根据三级分类ID列表获取三级分类
     * @author ChenLong
     * @date 2021-07-31 15:26:29
     * @return java.util.List
     **/
    List<WelfareGoodsClassifyVo> getGoodsClassifyByThirdIdList(List<Integer> list);

    /**
     * 服务端获取右侧分页列表
     * @date 2021/6/1 14:05
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.goods.pojo.vo.WelfareGoodsClassifyVo>
     */
    List<WelfareGoodsClassifyVo> getGoodsClassifyPage(WelfareGoodsClassifyQuery query);

    /**
     * 逻辑删除分类
     * @date 2021/6/1 16:47
     * @author caobucao
     * @param id  主键id
     * @return java.lang.Integer
     */
    Integer deleteGoodsClassify(Integer id, Integer loginId);

    /**
     * 下拉选商品分类树
     * @date 2021/6/3 11:18
     * @author caobucao
     * @param enterpriseId 企业ID
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String, Object>> getGoodsClassifiesForSelect(Integer enterpriseId);

    /**
     * 获取所有子分类并查看是否已关联商品
     * @date 2021/6/7 16:04
     * @author caobucao
     * @param id 主键id
     * @return java.util.List<com.dzl.goods.pojo.WelfareGoodsClassify>
     */
    Boolean getAllChildrenIsBindGoods(Integer id);
    /**
     * 
     * @Description:查询商品分类-中台项目
     * @param parentId 上级分类id
     * @return
     * List<Map<String,Object>>
     * @exception:
     * @author: liufan
     * @time:2021年6月19日 下午4:12:02
     */
    List<Map<String, Object>> getCategoryListByMiddleground(Integer parentId);
}
